/* 
    fs 模块 :file system  文件系统
    后端语言可以操作文件   前端语言不行
    fs 使用
    fs 是内置模块
*/
const { log } = require("console");
const fs = require("fs");

/* 
    文件操作:  一.文件操作  二.目录操作
    增 删 改 查

    注意: 所有的文件及目录操作 都会有2种函数  一种是同步  一种是异步
        同步操作  是在异步函数基础上加sync

*/


/* 
    一.增加文件
*/
let str = "我是写入的内容";

//异步写入文件操作
// false.writeFile("./1.txt", str, err => {
//     if (err) {
//         return console.log(err);
//     }
//     console.log("写入成功");
// })

//同步写入文件
// try {
//     fs.writeFileSync("./2.txt", "22222");
//     console.log("写入成功");
// } catch (err){
//     console.log(err);
// }

//2.删除文件
//异步删除
// false.unlink("./1.txt", err => {
//     if (err) {
//         return console.log(err);
//     }
//     console.log("删除成功");
// })

//3.修改文件
// false.rename("./2.txt", "4.txt", err => {
//     if (err) {
//         return console.log(err);
//     }
//     console.log("修改成功");
// })

//4.读取文件
//异步读取
// fs.readFile("./4.txt", (err, data) => {
//     if (err) {
//         return console.log(err);
//     }
//     console.log(data.toString());
// })

// let data =  fs.readFileSync("./4.txt","utf8");
// console.log(data);

// let obj = [{name:"张三",age:20},{name:"王五",age:22},{name:"李四",age:21}];
// fs.writeFileSync("./data.json",JSON.stringify(obj));

// let data =  fs.readFileSync("./data.json","utf8");
// // console.log(typeof data);
// let users = JSON.parse(data);
// console.log(users);


// 文件操作 是一个 服务器持久化保存数据的方案；
// 服务端会存 配置文件

// 实现一个复制文件； mycopy 可以实现 文件的复制

function mycopy(src,dist){
    try{
    fs.writeFileSync( dist,fs.readFileSync(src))
        console.log("复制成功");
    }catch(err){
        console.log(err);
    }
}

mycopy("./4.txt","./5.txt");

fs.copyFileSync("./4.txt","./6.txt");